C语言中数据赋值的问题

来源:百度知道 编辑:UC知道 时间:2024/05/10 11:50:35
谭浩强的<C程序设计>的书上说关于字符型数据赋给整型变量时,字符占一个字节,整型为2个字节,把字符数据(8位)放到整型变量低8信中,如系统将字符处理为无符号的量对unsigned char型变量赋值,将字符的8位放到整型变量低8位,高8位补0,不知道哪位朋友可以具体细说一下.
还有,在例子中,将字符'\376'赋给int变量
'\376'怎么在内存中会 以: 11 11 11 10
请问这是通过怎么转来的?不胜感谢!

376是个八进制数.转为十进制数是254.转为二进制是11111110.
'\OOO',其中OOO代表不超过三位的八进制数.
'\xhh',其中hh代表不超过2位的十六进制数.
以上是两种用ASCII码表示字符常量的方法.

11111110是376的二进制

11111110不是376的二进制,8位最大才256,不可能上300.
11111110=254,
'\376'不是字符,是字符串,你找个字符的例子来吧

二进制啊,去学了二进制就知道了