Articles of sin

¿Cómo maneja C la extensión de signo?

Tengo un puntero a un búfer de bytes desde el cual estoy copiando todos los bytes indexados a un int (debido al protocolo en el que los datos están almacenados en el búfer, sé que los ciclos impares son para leer). Ahora cuando hago esto signed int a; … //inside a loop a = buffer[2*i]; […]

Creando un estéreo sin WAV usando C

Estoy intentando crear un WAV sinusoidal estéreo en C, con la posibilidad de tener canales izquierdo y derecho diferentes (y posiblemente en blanco). Se genera un tono para cada canal con esta función: int16_t * create_tone(float frequency, float amplitude, float duration) Entonces abro un FILE* y llamo a create_wav . Aquí están las dos estructuras […]

valor vs tipo: Código para determinar si una variable está firmada o no

Me encontré con esta pregunta en un foro. La respuesta es algo como esto: #define ISUNSIGNED(a) (a >= 0 && ~a >= 0) //Alternatively, assuming the argument is to be a type, one answer would use type casts: #define ISUNSIGNED(type) ((type)0 – 1 > 0) Tengo algunas preguntas con respecto a esto. ¿Por qué necesitamos […]

¿Es INT_MAX + 1 = INT_MIN en un entero con signo?

for (i = 0; i <= N; ++i) { … } Esta statement en particular causará un bucle infinito si N es INT_MAX . Después de haber sabido que los desbordamientos sin firma están envolviendo los desbordamientos, suponiendo que i y N estén sin firmar, el comstackdor puede asumir que el bucle iterará exactamente N+1 […]

¿Qué hace esta pieza de código y qué significa cada uno de los símbolos utilizados? El lenguaje utilizado es C y soy solo un principiante en la encoding.

Encontré un código del cual no podía entender lo que están haciendo estas dos líneas. Ni siquiera se puede obtener la syntax. Especifique qué tipo de funcionalidades se han utilizado como, por ejemplo, supongo que ha habido un uso de operadores condicionales en la primera línea. unsigned long long base_size = b >= 2 ? […]

¿Cuál es el trato con la asignación de una variable sin signo a un valor firmado?

Este código que estoy viendo tiene muchos lugares donde veo que suceden cosas como estas: char *functionName(char *passedVariable) { unsigned char *newVariable = (char* ) passedVariable; ¿Por qué se hace esto? Siempre trato de ser consistente en el uso de firmado / no firmado, porque sé que cambiar entre los dos puede causar problemas, pero […]

Calcular la función sin ()

Para mis estudios, tengo que codificar un algoritmo para calcular sin() con esta función: Sin embargo, en mi algoritmo, tengo que mantener el valor de X entre 0 y Pi / 2. Entonces, escribí mi algoritmo pero todos los resultados son incorrectos. Aquí está mi código: double sinX(double x){ double resultat = 0; int i; […]

¿Alguna aplicación de cola libre de locking de productor único de un solo consumidor en C?

Estoy escribiendo un progtwig con un subproceso de consumidor y un subproceso de productor, ahora parece que la sincronización de la cola es una gran sobrecarga en el progtwig, y ​​busqué algunas implementaciones de cola sin locking, pero solo encontré la versión de Lamport y una versión mejorada en PPoPP ‘ 08: enqueue_nonblock(data) { if […]

¿Cómo funciona en el ensamblaje la asignación de un número negativo a un int sin signo?

Aprendí sobre 2’s Complement y firmé y firmé int. Así que decidí probar mi conocimiento, por lo que sé que un número negativo se almacena en forma 2’s complement para que la sum y la resta no tengan un algoritmo diferente y los circuitos serían simples. Ahora si escribo int main() { int a = […]

Valores sin firmar y firmados en C (Salida)

signed int x = -5; unsigned int y = x; ¿Cuál es el valor de y ? ¿Cómo es esto?