标签: binary

在Python中读取和写入二进制文件

我有一个binary名为“ input.bin”的文件。我正在练习如何使用此类文件(读取它们,更改内容并写入新的二进制文件)。输入文件的内容:

03 fa 55 12 20 66 67 50 e8 ab
Run Code Online (Sandbox Code Playgroud)

这是用hexadecimal符号表示的。

我想制作一个输出文件,它只是输入文件,每个字节的值递增一。

这是预期的输出:

04 fb 56 13 21 67 68 51 e9 ac
Run Code Online (Sandbox Code Playgroud)

这也将以hexadecimal符号表示。我正在尝试使用以下命令在 python3 中执行此操作:

with open("input.bin", "rb") as binary_file:
    data = binary_file.read()
    for item in data:
        item2 = item+1
    with open("output.bin", "wb") as binary_file2:
        binary_file2.write(item2)
Run Code Online (Sandbox Code Playgroud)

但它没有返回我想要的。你知道如何修复它吗?

python binary

0
推荐指数
1
解决办法
1565
查看次数

使用 C 中的 fwrite() 将二进制文件写入文件

我正在尝试将 4 个unsigned short int以十六进制表示的数字写入二进制文件。

除了我正在写的数字之外,我还不断收到很多垃圾,我不知道为什么。我假设在从unsigned short int二进制文件的转换过程中,有垃圾被写入我的文件中。

我写入二进制文件的函数是:

int write_file  (char* name, unsigned short int array[x] ){

    FILE *fptr;
    fptr = fopen(name, "wb");
    if(fptr==NULL)
    {
        fclose(fptr);
        return (0);
    }
    unsigned short int code = 0xABCD;
    const void *ptr = &code;
    fwrite(ptr, sizeof(ptr), 1, fptr);

    unsigned short int code2 = 0x0000;
    const void *ptr2 = &code2;
    fwrite(ptr2, sizeof(ptr2), 1, fptr);

    unsigned short int code3 = 0x0001;
    const void *ptr3 = &code3;
    fwrite(ptr3, sizeof(ptr3), 1, fptr);

    unsigned …
Run Code Online (Sandbox Code Playgroud)

c binary binaryfiles

0
推荐指数
1
解决办法
1333
查看次数

在 Oracle 中将 txt/csv 文件或图像插入 BLOB 列有区别吗?

我正在使用 CX_ORACLE 编写一个 Python 脚本,该脚本将需要大约 20K 个文件并将它们上传到 BLOB 列中。

它们是 PDF、CSV、TXT 和 JPG。

我只是不明白如何将这些文本和二进制文件全部放入 BLOB 列中。

python oracle binary cx-oracle

0
推荐指数
1
解决办法
144
查看次数

为什么我的二分搜索不适用于我的数组?

尝试学习一些基本的数据结构和算法,我尝试编写基本的二分搜索代码,但除非输入与中间相同,否则它不起作用?有人可以帮忙吗?

void Search(int input) {

    int array[10] = { 0.1,2,3,4,5,6,7,8,9,10 };
    int first = array[0];
    int last = sizeof(array) / sizeof(array[0]);;
    int middle = first + last / 2;

    if (input == middle) {
        cout << "search succesful";
    }
    else if (input > middle) {
        middle + 1;
        Search(input);

    }
    else if (input < middle) {
        middle - 1;
        Search(input);

    }
}

  int main()
    {
     int input;
     cin >> input;
     Search(input);
    }
Run Code Online (Sandbox Code Playgroud)

c++ binary search

0
推荐指数
1
解决办法
154
查看次数

装配无限数量

我觉得这个问题可能有点蠢。。

由于我们存储位来指示数字,并且由于我们拥有整个 RAM,因此我们应该能够拥有一个无限大小(实际上是自定义大小)的数字,该数字可以占用整个 RAM(或其指定部分) )。

正确的?

例如,如果我们这样做:

mov ax, 0xFFFF
add ax, 1
jc custom_function ; if I remember correctly jc checks the carry flag
Run Code Online (Sandbox Code Playgroud)

custom_function 是一个标签/函数,它具有一种算法来设置下一个位以创建无限大小的数字。

问题

  1. 这可能吗?如果不是无限大小的数字,则指定自定义(比默认值更长或更短)

  2. 我怀疑,如果可能的话,它的性能会很差(即使数量更短)。你怎么认为?

  3. 你认为拥有这样的东西会很好吗?(也许在内存有限的旧系统或嵌入式系统中这会更有效?)

embedded binary assembly numbers bigint

0
推荐指数
1
解决办法
133
查看次数

位串 转十六进制值

我有一个像“10011011001”这样的字符串,我希望将该字符串转换为十六进制字符串,最好的方法是什么。

delphi binary hex pascal

0
推荐指数
1
解决办法
353
查看次数

为什么这段代码不能正常工作?

我想创建一个程序,将所有素数写入文件中(我知道有一个流行的算法"Sieve of Eratosthenes",但我试图自己制作).我正在尝试消除仍然具有值1的字节的所有复杂性,然后将它们写入文件中.

#include <iostream>
#include <stdlib.h>  
#include <stdio.h>

void afficher_sur_un_ficher (FILE* ficher, int nb_bit);
char el_mask (int x);

int main()
{
    FILE* p_fich;
    char tab[4096], mask, eli_mask;
    int nb_bit = 0, x, f;

    for (int i = 0; i < 4096; i++)
    {
        tab[i] = 0xff;
    }

    for (int i = 0; i < 4096; i++)
    {
        for (mask = 0x01; mask != 0; mask <<= 1)
        {
            if ((tab[i] & mask) != 0)
            {
                x = nb_bit; 
                while …
Run Code Online (Sandbox Code Playgroud)

c++ binary primes

-1
推荐指数
1
解决办法
377
查看次数

计算int中的位 - 为什么此代码有效?

我试图更多地了解比特,我遇到了这个例子.

这段代码如何计算这些位?(顺便说一句,我的C很生锈).

unsigned int v; // count the number of bits set in v
unsigned int c; // c accumulates the total bits set in v

for (c = 0; v; v >>= 1)
{
  c += v & 1;
}
Run Code Online (Sandbox Code Playgroud)

c binary integer bit

-1
推荐指数
1
解决办法
472
查看次数

二进制减法

说我要减去:0000 0000 - ( - 1)

那是:(两个补充)

      0000 0000
    - 1111 1111
      ---------
    = ???? ????
Run Code Online (Sandbox Code Playgroud)

什么事情会发生,我的大脑现在真的和我在一起,它之前完全没问题,我认为它的溢出让我搞砸了,有人可以请一些清关吗:)?

binary assembly overflow subtraction

-1
推荐指数
1
解决办法
2096
查看次数

">> 1"等于"/ 2"?

可能重复:
>>在javascript中

这里:

var num=10;
console.log(num/2);
num=4;
console.log(num/2);
Run Code Online (Sandbox Code Playgroud)

它给了我52.

还有这个:

var num=10;
console.log(num>>1);
num=4;
console.log(num>>1);
Run Code Online (Sandbox Code Playgroud)

它也给了我52.
x/2是一样的x>>1吗?但为什么?

javascript binary bit-manipulation

-1
推荐指数
1
解决办法
126
查看次数