I2C address

Hi, i try to configure the I2C address of two MLX90614 IR-sensors like that:
http://wiki.wiring.co/wiki/Connecting_Infrared_Thermometer_MLX90614_to_Wiring#Setup_diagram_3
It works really great!

But now i have the problem that it seems that there is no repeatability in rebuilding of that.

I always rewrite the same deviceaddresses to the sensors (it works!).
But the addresses in the I2C bus are not the same than before.
(nothing was changed!)
If i take a new sensor and write a new address, the device address is changed but the I2C address is different. Why?

int device1Address = 0x0A<<1;
int device2Address = 0xB4<<1;
//------

for(address = 1; address < 127; address++ )  {

    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {

      if (address == 10){
        Serial.print("Temp 1: ");
            celcius1 = temperatureCelcius(device1Address);// with the given address,
            Serial.println(celcius1,0); }              // port.
      
 if (address == 52){
      Serial.print("Temp 2: ");
            celcius2 = temperatureCelcius(device2Address);// with the given address,
            Serial.println(celcius2,0);}                // port.
      }

The device addresses are always the same but the I2C address are different… (confusing!)

Hi

if u use the MLX u need the i2cmaster lib for getting it work. and the adresse of the device changes but not the adress to get the temp.

NOW i understand!
The problem with the code is, that it stops if one sensor or both are unplugged.
So i have to search for an active address.

But the address for the device is in an integer hex-format:
int device1Address = 0x5A<<1;

The found I2C address is integer 90.
Now i have the problem, that i have to convert int 90 to an integer address like 0x5A<<1.
To change that in an int hex value i easy, but how can i complete the 5A to 0x5A<<1
(that is not a string!)?