What happens if you pass an int to a byte parameter in C?

byte, c, c++, int

Solution

Just truncated AS bit pattern (byte is in general unsigned char, however, you have to check)

int i = -1;

becomes

byte b = 255; when byte = unsigned char

byte b = -1; when byte = signed char

i = 0; b = 0;

i = 1024; b = 0;

i = 1040; b = 16;

Problem

How does C/C++ deal if you pass an int as a parameter into a method that takes in a byte (a char)? Does the int get truncated? Or something else? For example: ``` void method1() { int i = //some int; method2(i); } void method2(byte b) { //Do something } ``` How does the int get "cast" to a byte (a char)? Does it get truncated?

Original source