本文目錄一覽:
- 1、二進制轉換為string字符串?
- 2、c語言如何將二進制數轉換為字符? 有代碼如下其中有些不明白的地方,請大家幫忙看看.
- 3、c語言 8位2進制數轉換成字符
- 4、C語言如何把一個16位二進制數轉換為10進制形式字符串
- 5、c語言的二進制數值如何直接輸出?
- 6、c語言二進制轉換
二進制轉換為string字符串?
在C語言中,比較簡單,因為C的字符串就是以0為結束符的二進制流:
#include iostream
#include string.h
using namespace std;
void main()
{
char buf[] = { 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x36, 0x39 }; // 二進制流
char str[256];
strncpy( str, buf, sizeof( buf ) ); // 直接複製二進制流
str[ sizeof( buf ) ] = ‘\0’; // 在結尾加0,作為結束符
cout str endl;
}
c語言如何將二進制數轉換為字符? 有代碼如下其中有些不明白的地方,請大家幫忙看看.
改這樣就ok了
void binary_to_ascii(unsigned int bin) //value是關鍵字,不要用來做變量名
{
unsigned int quotient = bin;
int ten = 1;
int ascii = 0;
//quotient=value/10;//此處為什麼是除以10?
//if(quotient!=0)
// binary_to_ascii(quotient);
//putchar(value%10+’0′);
while (quotient)
{
ascii += quotient % 10 * ten;
quotient /= 10; // 因為你輸入的是十進制的數,因此輸入的數要除以10才能得到每一位的數
ten *= 2; //因為是2進制,因此乘以2
}
printf(“%c”, ascii);
}
不懂可追問
c語言 8位2進制數轉換成字符
a[i]是個字符’0’或者’1’, 不能直接相乘,直接相乘的話,乘的是字符的ASCII。出錯在這裡。
C語言如何把一個16位二進制數轉換為10進制形式字符串
#includestdio.h
#includestdlib.h
#includestring.h
int main(void)
{
char ch1[16],ch2[10];
int sum,i=0,flag = 1;
printf(“請輸入需要轉化的二進制:”);
gets(ch1);
while(i16)
{
sum = (ch1[i]-48)*flag;
flag = flag*2;
i++;
}
i = 0;
while(sum0)
{
ch2[i++] = sum%10;
sum = sum/10;
}
printf(“%s”,ch2); //注意這裏面輸出的是反向十進制
return 0;
}
c語言的二進制數值如何直接輸出?
1.
C標準沒有輸出二進制的,不過用itoa()可以實現到二進的轉換
2.
可以使用itoa函數把變量的數值轉換成2進制字符串,再用輸出函數輸出。
3.
用
法:char
*itoa(int
value,
char
*string,
int
radix);
4.
詳細解釋:itoa是英文integer
to
array(將int整型數轉化為一個字符串,並將值保存在數組string中)的縮寫.
5.
參數:value:
待轉化的整數。
6.
radix:
是基數的意思,即先將value轉化為radix進制的數,範圍介於2-36,比如10表示10進制,16表示16進制。
7.
*
string:
保存轉換後得到的字符串。
8.
返回值:char
*
:
指向生成的字符串,
同*string。
9.
備註:該函數的頭文件是”stdlib.h”
下列函數可以將字符串轉換為數字:
————————————————————————
函數名
作
用
————————————————————————
atof()
將字符串轉換為雙精度浮點型值
atoi()
將字符串轉換為整型值
atol()
將字符串轉換為長整型值
strtod()
將字符串轉換為雙精度浮點型值,並報告不能被轉換的所有剩餘數字
strtol()
將字符串轉換為長整值,並報告不能被轉換的所有剩餘數字
strtoul()
將字符串轉換為無符號長整型值,並報告不能被轉換的所有剩餘數字
————————————————————————
將字符串轉換為數字時可能會導致溢出,如果你使用的是strtoul()這樣的函數,你就能檢查這種溢出錯誤。請看下例:
代碼如下:
#
include
stdio.
h
#
include
stdlib.
h
#
include
limits.
h
void
main(void);
void
main
(void)
{
char*
str
=
“1234567891011121314151617181920”
;
unsigned
long
num;
char
*
leftover;
num
=
strtoul(str,
leftover,
10);
printf(“Original
string:
%s\n”,str);
printf(“Converted
number:
%1u\n”
,
num);
printf(“Leftover
characters:
%s\n”
,
leftover);
}
c語言二進制轉換
計算機運行二進制代碼後呈現出人可以識別的非二進制形式,是由輸出語句來完成的。
例如printf( ) 函數,會將二進制值轉化為指定的格式字符串進行輸出。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/193000.html