当前位置:  开发笔记 > 编程语言 > 正文

如何反转字节中的ON位?

如何解决《如何反转字节中的ON位?》经验,为你挑选了2个好方法。

我正在读Joel的书,他在那里建议作为面试问题:

编写程序以反转给定字节中的"ON"位.

我只能想到使用C的解决方案.

在这里问,所以你可以告诉我如何以非C方式(如果可能的话)



1> GManNickG..:

我主张技巧问题.:)反转所有位意味着触发器,但只有明显的位意味着:

return 0;



2> Jason Day..:

具体问题是什么意思?

好问题.如果反转"ON"位意味着仅反转"ON"位,那么无论输入是什么,您总是会得到0.如果它意味着反转所有的位,即将所有1改为0并将所有0改为1,这就是我最初读取它的方式,那么这只是一个按位NOT或补码.基于C的语言有一个补码运算符~,就是这样做的.例如:

unsigned char b = 102;      /* 0x66, 01100110 */
unsigned char reverse = ~b; /* 0x99, 10011001 */

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有