bit-manipulation相关内容

按位运营商简单地翻转所有位整数?

我要翻转所有位整数的二进制重新presentation。鉴于: 10101 输出应 01010 什么是位运算符与一个整数使用时,做到这一点?例如,如果我在写像 INT flipBits(INT N)的方法; ,你会在身上去了?我需要翻转只有什么是已经present的数量,而不是在所有的整数32位。 解决方案 的〜单目运算符是按位否定。如果你需要比在什么适合较少的比特 INT 那么你 ..
发布时间:2016-08-06 22:08:33 Java开发

发送和接收的Javascript网页上的插座的二进制数据?

有可能发送和接收的Javascript网页上的插座的二进制数据?我能,例如,使用网络套接字实现SSH客户端? 解决方案 接下来的草案( hybi -07 )规范在大多数浏览器正在实施的WebSockets的,它会增加内置的协议和API的二进制支持。 不过,在此之前,有效载荷的WebSockets为en codeD为UTF-8。为了发送二进制数据,你必须使用二进制数据为UTF-8编码的一些 ..
发布时间:2016-08-06 22:02:59 前端开发

小数为二进制

我有一个数字,我想转换为二进制(十进制)的温度。 我想我的二进制始终处于5位(小数绝不会超过31个)。我已经有一个手工做它通过将功能,但就是很难垫它到5位。 有没有更简单的方法?也许使用按位转移? 我也想二进制重新$ P $在的char * psented 解决方案 下面是一个优雅的解决方案: 无效getBin(INT NUM,字符*海峡) { *(STR + 5)='\\ 0 ..
发布时间:2016-08-06 22:01:28 开发方法

计数位或找到合适有效的位运算|最左边的人

由于一个unsigned int,我必须执行以下操作: 计数设为1位的数量 找到的索引最左边的1位 找到的指数右击最1位 (操作不宜架构家属)。 我做这个使用逐转变,但我有过几乎所有的位迭代(es.32)。 例如,数1的: 无符号整型数= ...; 而(数字!= 0){ 如果((数&放大器;!为0x01)= 0) ++计数; 数字>&GT ..
发布时间:2016-08-06 21:58:08 C/C++开发

c反向无符号整数位

我转换一个无符号整数使用位运算符为二进制,目前做的整数放; 1,检查是否位为1或0输出,然后通过1右移由2.然而比特错误的顺序(逆向)返回划分,所以我想扭转位开始前的整数订购。 有没有一种简单的方法来做到这一点? 例如: 所以,如果我给出的unsigned int类型10 = 1010 而(X不均衡0) 如果(X安培; 1) 输出一个'1' 其他 输出'0' 1 ..
发布时间:2016-08-06 21:57:30 开发方法

移位运算符用C

在C,是移位运算符(<< ,>> )的算术或逻辑? 解决方案 根据 K&安培; R第二版(圣经) 结果是实现定义的符号值的右移。 维基百科说,C / C ++“通常是”实现签署值的算术移位。 基本上你需要或者测试你的编译器或不依赖于它。我对当前的MS C ++编译器VS2008帮说,他们做了一个算术移位。 ..
发布时间:2016-08-06 21:54:25 开发方法

位运算和用法

考虑这个code: X = 1#0001 点¯x所述&;&下; 2#左移2位:0100 #结果:4X | 2#位或:0011 #结果:3X'放大器; 1#按位与:0001 #结果:1 我可以理解在Python(和其它语言)的算术运算符,但我永远无法理解“位元”经营得非常好。在上面的例子中(从Python书籍),我明白左移而不是其他两个。 此外,什么是位运算符实际使用的?我倒是AP prec ..
发布时间:2016-08-06 21:54:11 Python

NASM移位运算符

您会如何去对一个寄存器做在NASM有点转变?我阅读手册,并似乎只提到这些运营商的>> << 。当我尝试使用它们NASM抱怨移位运算符标量值工作。你能解释一个标值是什么,并给出了如何使用>> 和℃的例子;< 。另外,我认为有一个 SHR 或 SHL 运营商。如果他们不存在,您可以给如何使用它们的例子吗?感谢您的时间。 解决方案 << 和>> 为带有整 ..
发布时间:2016-07-18 21:23:02 .NET Framework

NASM:计数如何在一32位号码许多位被设置为1

我有一个32位的数字,想知道计数位多少1。 我想这个伪code的: MOV EAX,[数字] 而(EAX!= 0) { DIV EAX,2 如果(EDX == 1) { ECX ++; } SHR EAX,1 } 有没有更有效的方法? 我使用NASM在x86处理器。 (我只是用汇编开始的,所以请不要告诉我用从图书馆的extern code,因为我甚至不知道如何 ..
发布时间:2016-07-18 21:12:11 .NET Framework

使用位运算符乘法

我想知道我怎么能去乘以一系列使用位运算符二进制位。不过,我很感兴趣,这样做是为了找到二进制值的小数部分的价值。这里是什么我试图做一个例子: 考虑,说:1010010, 我要使用的每个单独的位,这样它会被计算为: 1 *(2 ^ 1)+ 0 *(2 ^ -2)+ 1 *(2 ^ 3)+ 0 *(2 ^ -4)..... 虽然我很感兴趣,在ARM汇编这样做,具有C / C ++的例子仍然会有所 ..
发布时间:2016-07-18 21:05:36 C/C++开发

如何在`test`指导工作?

如果我们有: 测试DWORD PTR [EAX],2000H JE LABEL1: 是否有任何价值比 0 其他DWORD PTR [EAX] 这将使跳发生的呢? 解决方案 指令的测试就像和指令,唯一的区别是结果不存回至目标操作数。 因此,答案是肯定的。所有二进制数而不是已设置的第13位上的存储器地址[EAX],或所有的数字present像b'xxxxxxxx XXXXXXXX xx0x ..

如何插入位之间的零位图中?

我有一些性能重code执行位操作。它可以降低到下面的明确定义的问题: 给定一个13位的位图,构造包含在偶数位置间隔原始位的26位的位图 要说明: 0000000000000000000abcdefghijklm(输入,32位) 0000000a0b0c0d0e0f0g0h0i0j0k0l0m(输出,32位) 目前,我有它的实现方式是在C:如果(输入及(1 LT;< 12)) ..
发布时间:2016-07-18 20:53:16 .NET Framework

如何找到电脑模?

有一些很酷的算法,逐位操作? 解决方案 通常情况下,处理器的模量和除法运算是一回事。例如,请参阅 http://jsimlo.sk/docs/cpu/index。 PHP / div.html 。这是英特尔处理器的除法指令的执行。 ..
发布时间:2016-07-18 20:50:34 .NET Framework

快速整除测试(由2,3,4,5,..,16)?

什么是最快的可分性测试?比方说,给定一个小端架构和32位有符号整数:如何计算速度非常快,一些是整除2,3,4,5,......多达16 警告:给定的code是唯一的例子。每一道线条都是独立的!只是明显的解决方案使用模运算是许多处理器,不具备DIV硬件(如多的臂)缓慢。一些编译器也无法做出这样的优化(比如,如果除数为函数的参数或依赖的东西)。 Divisible_by_1 = DO(); Di ..
发布时间:2016-07-18 20:34:47 C/C++开发

用乘法执行整数除法

看着由编译器产生x86汇编,我注意到,(无符号)整数除法有时作为整数乘法实现。这些优化似乎遵循的形式 值/ N => (值*((0xFFFFFFFF的/ N)+ 1))/ 0x100000000 例如,由9进行划分: 12345678/9 =(12345678 * 0x1C71C71D)/ 0x100000000 3某师会用乘法 0x55555555 + 1 ,等等。 开拓了 M ..

采用汇编语言反转字节

我在一个微处理器类和我们使用汇编语言飞思卡尔codeWarrior到68HCS12微控制器进行编程。这一周我们的任务是翻领一个字节,所以如果字节是00000001,则输出将是10000000或00101011到11010100.我们不得不使用汇编语言,并告诉我们可以用旋转和变化(但不限于! ),以完成此任务。我真的很茫然到哪里我应该开始。 解决方案 如果您能抽出256个字节额外的code尺 ..
发布时间:2016-07-18 20:22:07 .NET Framework

执行位无师算术运算符

我想完成需要我写三种功能为二进制算术的分配。 BADD()是对我提供的,所以我用它来帮助编写bsub()和bmult()函数。我无法理解我应该怎么然而执行BDIV()函数。我知道我需要通过使用右移和我bsubb()函数位迭代,但我不知道如何实现它。下面是我到目前为止写的功能。让我知道你是否注意到我在写他们犯任何错误(即bsub()和bmult())。谢谢。 / **此功能增加了使用位运算符的两 ..
发布时间:2016-07-18 20:01:18 .NET Framework