Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,950 questions

51,892 answers

573 users

How to divide the high and low byte from a 16bit datatype into two variable in C

1 Answer

0 votes
#include <stdio.h>
 
typedef union {
    unsigned short u16; // uint16_t	0 .. 65,535
    unsigned char u8[2];
} U16_U8;


 
int main(void) {
    U16_U8 val;

    val.u16 = 13882; // 0011 0110 0011 1010 
                     // 0011 0110 = 54 
                               // 0011 1010 = 58

    unsigned char a = val.u8[0];
    unsigned char b = val.u8[1];
     
    printf("%d\n%d", a, b);
     
    return 0;
}
 
 
 
/*
run:

58
54
 
*/

 



answered Jan 27, 2025 by avibootz

Related questions

1 answer 75 views
2 answers 215 views
215 views asked Aug 30, 2016 by avibootz
1 answer 163 views
163 views asked Feb 26, 2016 by avibootz
...