标签: hex

如何使用 printf() 以十六进制一一读取内存字节(因此没有任何格式)

我有兴趣在 ubuntu 上使用 netbeans 在 C.Im 中读取一个字节的内存,下面是我只读取一个字节的代码(不是 a 的全部值)。但屏幕上什么也没有打印出来。

main()
{
int a[1]={3};
//printf(%d",a[0]); //line 2
printf("\x07",a[0]); //line 3
}
Run Code Online (Sandbox Code Playgroud)

在我的想法中,带有标签 a 的地址中的内存由以下部分组成:

  • 0x0004 03
  • 0x0008 00
  • 0x000c 00
  • 0x000f 00

第 2 行中的 printf() 语句表示转到地址 0x???4 和:

  1. 读取 4 个字节(因为 d 字符)
  2. 将这 4 个字节表示为一个数字,这意味着将它们乘以 2 的幂(因为 d 字符)

第 3 行中的 printf() 语句使用\ (而不是 %)和从 0 到 7(1 个字节)的位。所以它表明,去地址 0x0004 和:

  1. 项目清单
  2. 读取 1 个字节(因为 07 个字符)2-除了将每个 4 位显示为十六进制值之外什么都不做

所以代码应该打印出 0x0004 中的第一个字节是 03。但它没有。任何线索?

提前致谢

请不要只是更正我的语法。您认为我关于 printf 中的格式化程序的假设是否正确?

c hex

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

将此十六进制字符串转换为javascript中的整数数组

我正在使用 node.js v6。

我有这个十六进制字符串;

let hex_string = "0102030402";
Run Code Online (Sandbox Code Playgroud)

我想转换hex_string成一个整数数组array_hex_integer看起来像这样;

let array_hex_integer;
array_hex_integer = [1, 2, 3, 4, 2];
Run Code Online (Sandbox Code Playgroud)

第一个元素 inarray_hex_integer对应于 '01'(第一个和第二个字符)in hex_string,第二个元素对应于 '02'(第三个和第四个字符) inhex_string等等。

javascript arrays hex string-conversion node.js

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

从C中读取图像的十六进制值

我正在尝试使用C从图像文件中读取十六进制值.在Linux中,此代码工作正常,但在Windows中它只读取前334个字节,我不明白为什么.

读取文件的代码是:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>    
void readHexFile(char* path) {
        FILE *fp;

        if ((fp = fopen (path, "r")) != NULL) {
            struct stat st;
            stat(path, &st);                

            int i;
            int ch;
            for (i = 0; i < st.st_size; i++) {
                ch = fgetc(fp);             
                printf("%x ", ch);
            }

            fclose(fp);
        }
        else {
            return NULL;
        }
}
Run Code Online (Sandbox Code Playgroud)

st.st_size来自<sys/stat.h>包并包含正确的值(图像文件的大小,以字节为单位)

此图显示了我的程序输出的内容,以及它正在读取的文件的实际二进制内容:

在此输入图像描述 当你的序列后看到17,18,19也有十六进制值,但我的程序打印ffffffff多次.

c hex readfile

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

Swift 4 十六进制字符串到二进制字符串

请注意,将十六进制字符串转换为二进制字符串的旧方法已从 swift 中删除,即: String(hex, radix: 2) -> 二进制字符串

swift 4 中的替代方案是什么?

binary hex swift

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

如何在C中连接数组中的整数二进制值?

我正在编写一个嵌入式系统程序,它通过SPI从外部ADC接收24位数据,并将数据存储在整数数组中.那部分是有效的.为了使数据有用,我需要以二进制或十六进制形式连接每个字节并除以0x7FFFFFF.这是我遇到麻烦的地方.例如,我可能会通过SPI接收一个如下所示的数据数组:

data_buffer = { 24 , 17 , 140 };
Run Code Online (Sandbox Code Playgroud)

又名

data_buffer = { 0b00011000 , 0b00010001 , 0b10001100 };
Run Code Online (Sandbox Code Playgroud)

又名

data_buffer = { 0x18 , 0x11 , 0x8C };
Run Code Online (Sandbox Code Playgroud)

我需要用这个值来连接每个元素来得到这样的东西:

data_value = 0x18118C
Run Code Online (Sandbox Code Playgroud)

然后将该值除以0x7FFFFF,以使其在我的程序中有用.在这个例子中,我最终想要的值是0x18118C/0x7FFFFF = 0.188

我该怎么做呢?

对不起,我没有提供更多代码,老实说我不知道​​从哪里开始.

c embedded binary hex

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

将字符串转换为uint16

我是新手,我一直在尝试将字符串“ 0x0000”转换为十六进制,到目前为止没有任何运气。这是我尝试过的:

import "strconv"

c, err := strconv.ParseUint("0x0000", 16, 32)
if err != nil {
    return err, nil
}
Run Code Online (Sandbox Code Playgroud)

引发错误:strconv.ParseUint: parsing "0x0000": invalid syntax

我也尝试过,uint16("0x0000")但显然我也无法将字符串直接转换为uint16。我敢肯定这是微不足道的,所以我们将不胜感激。谢谢。

string hex casting go

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

输出ASCII值C++

如果我有一个包含十六进制值的字符,如0x53,(S),如何将其显示为"S"?

码:

char test = 0x53;
cout << test << endl;
Run Code Online (Sandbox Code Playgroud)

谢谢!

c++ hex ascii

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

C中的十进制到十六进制转换

我需要将十进制数转换为前缀为0x的 4位小写十六进制数.
"%X"足够好了,但这并不是我想要的.

printf("hex num is: %X\n", num);
Run Code Online (Sandbox Code Playgroud)

c hex decimal

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

C++位操作 - 十六进制

请你帮助我好吗?据我所知,0xA07F的十进制值为:16 ^ 3*10 + 0 + 16*7 + 1*16 = 41088.那我该如何改变呢?输出是2032.
这是代码:

 unsigned short sh = 0xA07F; 
 sh = sh << 4; 
 cout << dec << sh << endl;
Run Code Online (Sandbox Code Playgroud)

c++ hex

-2
推荐指数
2
解决办法
102
查看次数

C中按位运算中的模糊十六进制/八进制值

我觉得我遗漏了一些关于数字系统的基本知识,但我真的很困惑我正在尝试使用按位运算符的下面一段代码:

x=56;
printf("\nHere  :\n%x   %x\n",x,077);
x=x& ~077;
printf("%x\n",x);
Run Code Online (Sandbox Code Playgroud)

它将077视为八进制(hex 3f).如果我只放77,则将其视为十进制(十六进制4d).如果放177,则将其视为十进制(十六进制b1).我指的是Richie和Kernighan的C编程书.

请帮忙.

c hex bitwise-operators octal

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