如何将char转换为十六进制和二进制
|
我在C中有以下示例:
int x = 123;
size of int = 4 bytes.
hex value = 7b
binary value = 0111 1011
如果我的x是char,十六进制/二进制值是多少?
char x = 123;
size of char = 1 byte.
hex value = ??
binary value = ??
没有找到相关结果
已邀请:
4 个回复
剑哎
小于than3ѭ,因此将是相同的。除了前导零外,您会发现
。 尝试这个:
输出为:
至于二进制值..谷歌是你的朋友 这个网站似乎解释得很好
炉挤仙挟
。带符号的char至少可以包含值
到
(二进制补码可以处理
,但是ISO标准允许负号的补码和正负号作为两个其他负数编码,这两个编码都不能处理)
),一个至少为
到
的无符号字符。 假设一个8位字节和4字节int:
二进制值
计算如下:
如果试图将一个值放入一个大于8位的8位ѭ2中,则最低有效位通常是保留的那些。
这在C99的
和
部分中有详细说明: 1 /当将整数类型的值转换为_Bool以外的其他整数类型时,如果该值可以用新类型表示,则该值不变。 2 /否则,如果新类型是无符号的,则通过重复添加或减去比新类型可表示的最大值多一个值来转换该值,直到该值在新类型的范围内为止。 3 /否则,将对新类型进行签名,并且无法在其中表示值;结果是实现定义的,还是引发实现定义的信号。
瞥同忙接
和
的显示可能会有所不同。
驮帽俺篮号