Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2016, 17:01
aguml
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 2 meses
Puntos: 3
Modificar un digito de un numero

Hola amigos, he estado liado con un código en el cual tengo un unsigned long y al que le quiero modificar un digito. Lo explico con un ejemplo. Imaginen:
unsigned long valor = 12345678;
si quiero sustituir por ejemplo el digito de las decenas de millón a partir de algún cálculo con el digito de las unidades de millar tengo que hacer muchas operaciones de divisiones., modulos., sumas., y multiplicaciones para obtener ambos dígitos y volver a montar el número. Mi pregunta es si hay algún modo más rápido usando operadores binarios o algo así.
Ahora mismo hago algo asi:
Código PHP:
#include  <stdio.h>

int main  (){
    
unsigned long valor12345678;
    
int umillar= ((valor 10000) - (valor 1000)) / 1000;
    
int dmillon umillar 3;
    if(
dmillon 0)
        
dmillon += 10;
    
valor dmillon 10000000 valor 10000000;
    
printf ("%lu",valor);
    return 
0;