C语言中u%翻译是直译补码么?

大哥大姐有没有人讲详细点的,我想问一下,C语言中u%翻译是直译补码么?
最新回答
欲往

2025-03-28 00:50:54

可以这么理解。
纠正一下,不是u% 而是%u
表示输出无符号数。
当后续对应参数不是unsigned类型时,会先转为unsigned int后再输出。其形式上,也就是输出补码的对应无符号值。
追问
,可为什么unsigned int b=2用u%输出还是2呢
追答
因为无符号数的补码,以及正数的补码,均是其本身(原码)
只有负数的补码,才会与原码不同。