今天写点什么好.|

识弦

园龄:5年1个月粉丝:0关注:0

将代表一个十六进制数的char数组从最高符号位逐个取出

在写性能测试的时候,需要将一个很长的十六进制数按照每四个字节一组存入寄存器。于是构造了一个char数组存放该数。

使用`printf("0x%02x ", text[i]);`将每个字节打印出来,却发现对于`0xf0 0xf1`等以f为开头的字节,打印时会变成`0xffff ffff`。

原来对于x来说,匹配的是无符号整型,而char有符号,当符号位为1时,会进行提升,多出来的四bit按照符号位填充。

本文作者:识弦

本文链接:https://www.cnblogs.com/hinspace/p/17843210.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   识弦  阅读(25)  评论(0编辑  收藏  举报
(评论功能已被禁用)
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起