想知道C语言char类型和int类型之间是如何转换的,字母之间可以通过ASCII码可以转换,但相关运算如何得出?结果转成二进制将其右移得出结果吗?结果是10。希望大家指导一下
其实,不需要把这些数据类型分的这么”死“。
比如说内存中8位的unsigned char,这里的a。内存中是11101011。这8bit内容是确定的,但是你如何去看待它,使用它,这时由你自己决定的。这里把他看作字符,就是ASCLL码为235的那个字符;把它看作无符号数,就是235;把它看作有符号数,就是-21。这里定义虽然定义为unsigned char,但并不妨碍你把它当其他东西用。
你把它想象成8bit的整数计算就可以了