算术运算\t符:取余(取模)%--我来修改编辑器2

在htm编辑器中,是不支持通过 $ 来书写公式的,$这个只支持markdown格式,在html中,需要使用" \(表达式)\ " 这类方式,但是块级的公式是可以通过  "$$表达式$$ "这样的方式来书写的,

注意:测试帖子,后期CSDN给答复完善


1、新版 \(a + b\) 无法显示行\(sum_{x\in X} \theta_c^x = 1\)内公式,<img src="http://www.forkosh.com/mathtex.cgi? $ a + b $ ">解决方案:

这是行内公式:$$Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$$

\(\sqrt {{a^2} + {b^2}}\)


模拟串口数据传递

(参考了一些网上的思路,在此表示感谢~)dada
需要注意的是:   
    对于无符号数来说,左移和右移都是用的逻辑移位,即左移低位空出的补0,右移高位空出的补0;
    对于有符号数来说,用的是算术移位,左移多出的会移进符号位,右移在gcc编译器下是算术右移,即空出的高位补符号位。

#include < stdlib.h >
#include < stdio.h > 
typedef unsigned char uint8;
typedef unsigned int uint32;
int main(void) {
    uint32 num1 = 12345678,
    num2;
    int num3 = -12345678,
    num4;
    float num5 = -1234.567,121212
    num6;
    uint8 TxBuf1[4];
    char TxBuf2[4];
    int i;
     //------------------------------------------------ 串口发送无符号整数TxBuf1[0] = num1;// printf("TxBuf[0] = 0x%x\n",TxBuf[0]);     TxBuf1[1] = num1 >> 8;    // printf("TxBuf[1] = 0x%x\n",TxBuf[1]); TxBuf1[2] = num1 >> 16;// printf("TxBuf[2] = 0x%x\n",TxBuf[2]); TxBuf1[3] = num1 >> 24;// printf("TxBuf[3] = 0x%x\n",TxBuf[3]); num2 = ((uint32)TxBuf1[0] | (uint32)TxBuf1[1]<<8 | (uint32)TxBuf1[2]<<16 | (uint32)TxBuf1[3]<<24); printf("num2 = %d\n",num2); //-------------------------------------------------- 串口发送有符号整数  TxBuf2[0] = *((int *)&num3); TxBuf2[1] = *((int *)&num3) >> 8; TxBuf2[2] = *((int *)&num3) >> 16; TxBuf2[3] = *((int *)&num3) >> 24;  num4 = *((int *)TxBuf2); printf("num4 = %d\n",num4); //------------------------------------------------ 串口发送浮点数  TxBuf2[0] = *((int *)&num5); TxBuf2[1] = *((int *)&num5) >> 8; TxBuf2[2] = *((int *)&num5) >> 16; TxBuf2[3] = *((int *)&num5) >> 24;  num6 = *((float *)TxBuf2); printf("num6 = %f\n",num6);
    //------------------------------------------------ 串口发送浮点数  char *p = (char *)&num5; for(i = 0;i < sizeof(float);i++)  TxBuf2[i] = *p++;
    num6 = *((float * ) TxBuf2);
    printf("num6 = %f\n", num6);
    return 0;
}
运行结果:

猜你喜欢

转载自blog.csdn.net/xiongjiamu/article/details/79377199
今日推荐