标签: binary

按位运算和使用

考虑以下代码:

x = 1        # 0001
x << 2       # Shift left 2 bits: 0100
# Result: 4

x | 2        # Bitwise OR: 0011
# Result: 3

x & 1        # Bitwise AND: 0001
# Result: 1
Run Code Online (Sandbox Code Playgroud)

我可以理解Python(和其他语言)中的算术运算符,但我从来没有完全理解'按位'运算符.在上面的例子中(来自Python书),我理解左移但不是其他两个.

另外,实际使用的是按位运算符?我很欣赏一些例子.

python binary bit-manipulation operators

94
推荐指数
7
解决办法
14万
查看次数

读写二进制文件

我正在尝试编写代码将二进制文件读入缓冲区,然后将缓冲区写入另一个文件.我有以下代码,但缓冲区只存储文件中第一行的几个ASCII字符,没有别的.

int length;
char * buffer;

ifstream is;
is.open ("C:\\Final.gif", ios::binary );
// get length of file:
is.seekg (0, ios::end);
length = is.tellg();
is.seekg (0, ios::beg);
// allocate memory:
buffer = new char [length];
// read data as a block:
is.read (buffer,length);
is.close();

FILE *pFile;
pFile = fopen ("C:\\myfile.gif", "w");
fwrite (buffer , 1 , sizeof(buffer) , pFile );
Run Code Online (Sandbox Code Playgroud)

c++ binary buffer file

94
推荐指数
5
解决办法
24万
查看次数

比较两个字节数组?(JAVA)

我有一个带有〜已知二进制序列的字节数组.我需要确认二进制序列是它应该是什么.我已经尝试.equals过了==,但都没有奏效.

byte[] array = new BigInteger("1111000011110001", 2).toByteArray();
if (new BigInteger("1111000011110001", 2).toByteArray() == array){
    System.out.println("the same");
} else {
    System.out.println("different'");
}
Run Code Online (Sandbox Code Playgroud)

java binary

93
推荐指数
4
解决办法
11万
查看次数

((a +(b&255))&255)是否与((a + b)&255)相同?

我正在浏览一些C++代码,发现这样的东西:

(a + (b & 255)) & 255
Run Code Online (Sandbox Code Playgroud)

双重和我生气,所以我想到:

(a + b) & 255
Run Code Online (Sandbox Code Playgroud)

(a并且b是32位无符号整数)

我很快写了一个测试脚本(JS)来证实我的理论:

for (var i = 0; i < 100; i++) {
    var a = Math.ceil(Math.random() * 0xFFFF),
        b = Math.ceil(Math.random() * 0xFFFF);

    var expr1 = (a + (b & 255)) & 255,
        expr2 = (a + b) & 255;

    if (expr1 != expr2) {
        console.log("Numbers " + a + " and " + b + " mismatch!");
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

虽然剧本证实了我的假设(两个操作都是平等的),但我仍然不相信它,因为1) …

c++ binary logic

92
推荐指数
6
解决办法
7665
查看次数

如何在Java中将二进制字符串转换为基数10整数

我有一个字符串数组,表示我想要转换为相应的基数为10的二进制数字(没有前导零).考虑:

binary 1011 becomes integer 11
binary 1001 becomes integer 9
binary   11 becomes integer 3   etc. 
Run Code Online (Sandbox Code Playgroud)

什么是最好的方法?我一直在探索java.lang.number.*而没有找到直接的转换方法.Integer.parseInt(b)产生一个整数EQUAL到String ...例如,1001变为1,001而不是9 ...并且似乎不包括输出基数的参数.toBinaryString转换方向是否错误.我怀疑我需要进行多步转换,但似乎无法找到正确的方法或子类组合.我也不确定领先零或缺少零的程度是一个问题.有人有什么好的指示指点我吗?

java string binary radix

91
推荐指数
4
解决办法
17万
查看次数

为什么人们不使用base128?

为什么每个人都使用base 64在网上传输二进制数据?我问,因为ASCII字符集有128个字符,理论上可以代表128个字符......

language-agnostic binary encoding

90
推荐指数
5
解决办法
5万
查看次数

用python读取二进制文件

我发现使用Python读取二进制文件特别困难.你能帮我个忙吗?我需要阅读这个文件,它在Fortran 90中很容易阅读

int*4 n_particles, n_groups
real*4 group_id(n_particles)
read (*) n_particles, n_groups
read (*) (group_id(j),j=1,n_particles)
Run Code Online (Sandbox Code Playgroud)

具体来说,文件格式为:

Bytes 1-4 -- The integer 8.
Bytes 5-8 -- The number of particles, N.
Bytes 9-12 -- The number of groups.
Bytes 13-16 -- The integer 8.
Bytes 17-20 -- The integer 4*N.
Next many bytes -- The group ID numbers for all the particles.
Last 4 bytes -- The integer 4*N. 
Run Code Online (Sandbox Code Playgroud)

我怎么用Python阅读?我尝试了一切,但从未奏效.我有没有机会在python中使用f90程序,读取这个二进制文件,然后保存我需要使用的数据?

python binary fortran

90
推荐指数
4
解决办法
21万
查看次数

在python中将字符串转换为二进制

我需要一种方法来获取python中字符串的二进制表示.例如

st = "hello world"
toBinary(st)
Run Code Online (Sandbox Code Playgroud)

有一个简洁的方法来做这个吗?

python string binary

88
推荐指数
5
解决办法
28万
查看次数

在Java中,我可以用二进制格式定义整数常量吗?

类似于如何定义十六进制或八进制的整数常量,我可以用二进制来完成吗?

我承认这是一个非常简单(和愚蠢)的问题.我的谷歌搜索空洞.

java syntax binary

84
推荐指数
6
解决办法
8万
查看次数

如何将字节转换为二进制字符串表示形式

例如,一个字节B中的位是10000010,如何将字符串分配给字符串str,即str = "10000010".

编辑

我从二进制文件中读取字节,并存储在字节数组中B.我用System.out.println(Integer.toBinaryString(B[i])).问题是

(a)当位以(最左边)1开始时,输出不正确,因为它转换B[i]为负的int值.

(b)如果位开头0,则输出忽略0,例如,假设B[0]为00000001,1而不是输出00000001

java binary byte

84
推荐指数
5
解决办法
17万
查看次数