2 baidu 31083567 baidu_31083567 于 2016.01.19 14:40 提问

串口接受的十六进制数据如何赋值给int型的变量呢

我定义一个int变量 int h=0;接受的一个串口数据为WPARAM ch,我想把这个ch赋值给h,h=(int)ch;这样为什么不可以呢,也就是我想要把接受到的00变为int型的0,01变为1 应该怎么转换呢

4个回答

qq_27183003
qq_27183003   Ds   Rxr 2016.01.19 14:45

你用的什么编译器?我用vc2010编译可以通过。

qq_27183003
qq_27183003 你说的不可以是什么意思?编译没通过?是控制台程序?
2 年多之前 回复
baidu_31083567
baidu_31083567 我的就是vs2010呀
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2016.01.19 21:25

我也觉得可以,你输出下wparam,是不是没有获取到值

sslive
sslive   2016.01.19 15:01

试试sprintf()函数

91program
91program   Ds   Rxr 2016.01.19 14:52

通过串口,你最好先将数字转成字符串,如 0 转成字符串“0”再发送。
接收方,收到到字符串“0”后,使用 atoi 再转成数字后,赋值给 h .

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
将一个负的short类型的变量赋值给一个int类型的变量,之后int类型的变量的值仍是负数
#include int main(void) {         short a = -20;         int b = (int)a;         int c = a;         long d = a;         printf("b: %d\t; c: %d; d: %ld\n", b, c, d); } the result: b: -20; c:
怎样把一个十六进制的值赋给一个变量?
c语言支持二进制、八进制、十进制和十六进制的计数系统,在表示一个数字时,用某个特殊的字符来区别其所属的计数系统是必要的。在表示二进制数时,要在数字的末尾加上“b”(如101b);在表示八进制数时,要使用反斜杠(如\014);在表示十六制数时,要使用“0x”字符序列(如0x34);显然,在表示十进制数时,不需要任何标识符,因为十进制是缺省的计数系统。 要把一个十六进制的值赋给一个变量,你可以象
二进制数给整型变量赋值?
C语言中的数据基本类型包括:char short int long float double . 用哪种类型定义的就叫XX类型变量,如字符型变量,整型变量,浮点型变量。各种变量中存储的数据,都是以二进制进行存储的。因类型的不同,采用的二进制编译格式不同。如:整形类都是用补码存储,浮点型采用IEEE754标准存储。1 c语言中,变量不可以用二进制数来赋值2 在c语言中,若要给变量赋整型值,则只可以用
给int、float型变量赋值以及int转float的情况
本文在Win10,Cygwin64下测试。 结论: 一、给float型变量赋十六进制的值时(如0xffffffff),都被认为是正数,当数值的二进制表示很长,则会发生截断,赋值和截断规律为:float变量可保存从左边第一个“1”开始的24位,且第24位是“1”时,只要第25位是“1”,那么截断时第24位加1(进位)。如果第24位是“0”,截断时需要第25、26位都是“1”,24
八进制数、十六进制数的赋值、输出技巧
dec为decimal的缩写: 10进制 oct为octal的缩写: 8进制 hex为hexadecimal的缩写: 16进制#include <iostream> #include <cstdio> using namespace std; int main(){ int num1 = 30; printf("30 in dec: %d \n",num1);
Char型变量左移8位赋值给int型变量
a 这是C标准规定。 #include   int main()   {   unsigned char a = 0x8A;    a    printf("%X",a);      return 0;   }   C标准规定在进行位运算时,a
复习——将字符赋值给整型变量
01./* 02.* 程序的版权和版本声明部分: 03.* Copyright (c) 2011, 烟台大学计算机学院 04.* All rights reserved. 05.* 文件名称:test.cpp 06.* 作 者:刘芳 07.* 完成日期:201 3年12 月13 日 08.* 版 本 号:v1.0 09.* 对任务及求解方法的描述
int、short、char 类型超出范围赋值
以下使用g++编译器,win32平台)。 转载:http://blog.csdn.net/bladeandmaster88/article/details/52903510 具体流程如下: 00000000 00000000 00000000 00000000                 |65535 1.100000 % 65535 = 34464. 2.由于
python:变量与赋值 基本数据类型
变量命名规范; 1.记住不能做什么:不能用关键字,开头不能用数字,不能用操作符。只用字母和下划线开头。 2.怎么搭配最合理:没事别乱用大写。清晰。尽量不要用拼音。用拼音的话用全称。           赋值: 1.记住动态特性。          2.多重赋值。 a,b,c=1,2,3         本质为元组打包和序列解包>>> a = 2 >>> b = 3 >>> a,b =
C语言int类型指针指向char类型变量简单实例
首先看段代码: int b = 12; int *p = &b; //指针变量p指向变量b printf("%p\n",p);//指针p保存的b的地址 printf("%p\n",&p);//指针变量b本身的地址 char a ='b';    printf("%p\n",&a); int *p2 =&a; //int类型指针变量p2 指向