¿Por qué a 2^(n-1) se le resta 1? (fórmula de rango de variable)

Sabemos que la fórmula para calcular el rango de una variable primitiva con signo en C++ es:

min: -(2^(n-1)) max: 2^(n-1) -1

Entiendo que a n se le deba restar 1, pues uno de los bits está siendo usado para determinar el signo. Lo que no entiendo es por qué el máximo es 2^(n-1) -1. ¡Gracias de antemano!

UnHandledRejection ¿por que?

espero estén bien. Recién me surgió un problema al implementar mis propias promesas con Firebase y me arroja el error “UnHandledRejection”. Cree diferentes métodos para leer, guardar o modificar la base de datos en Firestore, el problema es la promesa que cree para el método guardar.

Este es mi código:

var method = {     ser: function (obj) {         new Promise(function (resolve, reject) {             var db = firebase.firestore().doc("db/doc");             db.get().then(function (res) {                 var data = res.data();                 var exists = _.find(data.users, {                     name: obj.user.name                 });                 if (typeof exists === "undefined") {                     db.set({                         users: _.concat(data.users, obj.user)                     });                     resolve({                         status: "success"                     });                 } else {                     reject({                         status: "error"                     });                 }             });         });     } }; var save = method.set({     user: {         name: "Promise",         lastname: " UnHandledRejection"     } }); if (isNewUser === true) {     save.then(function (res) {         if (res.status === "success") {             console.log(res);         }     }).catch(function (e) {         if (e.status === "error") {             console.log(e)         }     }); } 

La función “.concat” y “.filter” son de Lodash

¿Por qué me pide usar un punto y coma entre mis “()” y “{” de un private void? (android studio con java como lenguaje)

justo después de los paréntesis de “crearcuenta” me salta error porque falta un punto y coma, pero tengo entendido de que ahí no va nada de eso, que puede ser el error?

 private void crearcuenta(){              String ecorreo, epass;             if(!checkFields()){                 Toast.makeText(this, "Datos Incorrectos", Toast.LENGTH_SHORT).show();             }             else{                 ecorreo = Ecorreo.getText().toString();                 epass = Epass.getText().toString();             }         } 

¿Por qué en la instalación de Ubuntu ya no te exigen la creación previa de dos contraseñas (para root y usuario personal)?

Antes recuerdo que UBUNTU (en todos sus derivados) exigía previamente a su instalación la creación de dos claves, una para el usuario normal y la otra para el root. Pero hace unas semanas reinstale varios derivados de ubuntu (linux mint, ubuntu mate, kubuntu, Elementary Ios) y me di cuenta que ya no es asi… en ninguna me exigieron la creación de dos claves. Y una vez adentro del sistema, en la consola, ya no se puede poner el comando SU, para loguearse como SUPER USUARIO sino que simplemente con SUDO haces todo. ¿Que es lo que ha pasado, ya no existe el usuario root? O de repente pienso que existe pero tiene asignada una clave por defecto que se puede averiguar.

¿Por que no funciona la funcion move_uploaded_file() de PHP?

Tengo un problema, llevo bastante rato tratando de hacer un formulario en donde un usuario suba una imagen al servidor, creo que el problema esta en la dirección de destino, pero he tratado de cambiar esa direccion muchas veces y sigue sin funcionar,

HTML

 <form class="row" action="php/cambiarFoto.php" method="post" enctype="multipart/form-data">     <input type="file" name="imagen">     <button type="submit" name="enviar">Guardar</button> </form>  

PHP

 foreach ($  _FILES['imagen'] as $  x => $  y) { echo "$  x: $  y <br>"; } echo "<hr>"; $  nombre = $  _FILES['imagen']['name']; $  tipo = $  _FILES['imagen']['type']; $  tamagno = $  _FILES['imagen']['size']; $  error = $  _FILES['imagen']['error']; $  rutaTemporal = $  _FILES['imagen']['tmp_name'];   if ($  tipo == "image/jpg" or $  tipo == "image/png" or $  tipo == "image/gif" or $  tipo == "image/jpeg"){     if ($  tamagno <= 500000) {         if ($  error == 0){             move_uploaded_file($  rutaTemporal,"../../img/perfil/" . $  nombre);         } else {             header("Location: ../?error");             die();         }      } else {         header("Location:../?err_tamagno_imagen");         die();     }  }else{     header("Location:../?err_tipo_imagen");     die(); }   

¿Por qué el reporte de JasperReports pierde el formato al llenarlo de una tabla de una base de datos?

El motivo de mi pregunta es justo saber por qué cuando genero mi reporte de JasperReports pierde el formato que yo le dí originalmente en JasperDesigner.

Por ejemplo, ciertas etiquetas estáticas las coloco centradas con cierta fuente pero al mostrar el reporte en mi programa se muestran alineadas a la izquierda, como si perdieran sus propiedades.

Gracias de antemano por su tiempo.

¿Por qué mi element.textContent NO evalúa bien?

Tengo 3 equitetas, un label con su valor ya predefinido, un input text con valor vacío y un checkbox inhabilitado. Quiero que cuando el label tenga el valor “ASISTIO” la etiqueta input text también tenga ese valor y el checkbox este habilitado. Y cuando el label tenga el valor “FALTO” la etiqueta input text tenga esa mismo valor y el checkbox este inhabilitado.

Para lograrlo utilizo este siguiente script:

$  (".lbl-asistencia").each(function (index, element) {         if (element.textContent == "ASISTIO") {             $  (".chk-asistencia").prop("checked", true)             $  (".txt-asistencia").val("ASISTIO");         }         else {             $  (".chk-asistencia").prop("checked", false)             $  (".txt-asistencia").val("FALTO");         }     }); 

Pero el resultado que me regresa es este: introducir la descripción de la imagen aquí

Todo me pone ASISTIO, cuando en realidad solo hay un valor ASISTIO y los otros son FALTO.

Cómo podría arreglar esto?

Mi código

$  (".lbl-asistencia").each(function (index, element) {             if (element.textContent == "ASISTIO") {                 $  (".chk-asistencia").prop("checked", true)                 $  (".txt-asistencia").val("ASISTIO");             }             else {                 $  (".chk-asistencia").prop("checked", false)                 $  (".txt-asistencia").val("FALTO");             }         });
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>   <table class="table">     <tbody><tr>         <th>             id_alumno         </th>         <th>             dni_alumno         </th>         <th>             nombre_alumno         </th>         <th>             ape_pat_alumno         </th>         <th>             ape_mat_alumno         </th>         <th>             asistencia_alumno         </th>         <th></th>     </tr>      <tr>         <td>             1         </td>         <td>             76475156         </td>         <td>             GIAN FRANCO ALEXIS         </td>         <td>             POMA         </td>         <td>             VIDAL         </td>         <td>             <label class="lbl-asistencia">FALTO</label>             <input type="checkbox" class="chk-asistencia">             <input type="text" class="txt-asistencia">         </td>         <td>             <a href="/Charlas/Edit">Edit</a> |             <a href="/Charlas/Details">Details</a> |             <a href="/Charlas/Delete">Delete</a>         </td>     </tr>     <tr>         <td>             2         </td>         <td>             76475155         </td>         <td>             GONZALO ALONSO         </td>         <td>             GODOS         </td>         <td>             VERA         </td>         <td>             <label class="lbl-asistencia">FALTO</label>             <input type="checkbox" class="chk-asistencia">             <input type="text" class="txt-asistencia">         </td>         <td>             <a href="/Charlas/Edit">Edit</a> |             <a href="/Charlas/Details">Details</a> |             <a href="/Charlas/Delete">Delete</a>         </td>     </tr>     <tr>         <td>             3         </td>         <td>             76475154         </td>         <td>             DRUCILA         </td>         <td>             VIDAL         </td>         <td>             CALDERÓN         </td>         <td>             <label class="lbl-asistencia">ASISTIO</label>             <input type="checkbox" class="chk-asistencia">             <input type="text" class="txt-asistencia">         </td>         <td>             <a href="/Charlas/Edit">Edit</a> |             <a href="/Charlas/Details">Details</a> |             <a href="/Charlas/Delete">Delete</a>         </td>     </tr>  </tbody></table>

¿Por que me devuelve “Call to undefined method Illuminate\Session\Store::getMetadataBag()” al actualizar laravel a la versión 5.8?

Al actualizar laravel de la versión 5.2 a la versión 5.8 (no me ha permitido hacer la actualización de la 5.2 a la 5.4 o 5.6) me devuelve el error: “Call to undefined method Illuminate\Session\Store::getMetadataBag()” que por lo que he visto, tiene que ver con el control de sesión, y por mas que busco en la documentación de laravel no encuentro como darle solución. ¿Alguien ha tenido un error como este y ha podido solucionarlo?